[Сервер] Смена стандартного порта SSH

Зачем менять порт SSH?

По умолчанию SSH-сервер слушает порт 22, который является стандартным и широко известным. Это делает его основной целью для автоматических брутфорс-атак и сканирования. Изменение порта помогает снизить количество таких попыток, повышая безопасность сервера и уменьшая нагрузку.

Какой диапазон портов доступен?

Порты делятся на три группы:
- От 0 до 1023 – системные, зарезервированные за стандартными службами, их использовать не рекомендуется.
- От 1024 до 49151 – зарегистрированные для пользовательских приложений.
- От 49152 до 65535 – динамические или частные порты.

Для выбора нестандартного SSH-порта рекомендуется брать число в диапазоне от 1024 до 65535, чтобы избежать конфликтов и повысить безопасность.

Почему в примере выбран порт 2222?

Порт 2222 – простой и удобный для запоминания нестандартный порт из безопасного диапазона (1024–65535). Его особенность в том, что это повторение числа 22 – стандартного порта SSH, что облегчает запоминание. Он достаточно далёк от системных портов и часто используется в примерах, так как помогает снизить вероятность автоматических атак, направленных на стандартный порт 22.

Именно поэтому в инструкции выбран порт 2222.

открыть файл конфигурации SSH:

sudo nano /etc/ssh/sshd_config

Находим строку с #Port 22 или Port 22 и заменим её, например, на:

Port 2222

То есть убираем #, меняем 22 на нужный номер порта от 1024 до 65535.

Запускаем команду для проверки конфигурации:

sudo sshd -t

Если команда не выдаст ошибок, значит всё в порядке и можно безопасно перезапустить SSH-сервис.

Перезапускаем SSH-сервис командой:

sudo systemctl restart sshd

После перезапуска необходимо проверить, что новый порт открыт и прослушивается.

Проверить открытый порт локально:

sudo netstat -tuln | grep 2222

Или проверить из сети (например, с другого устройства):

nmap -p 2222 твой_адрес_сервера

Если порт закрыт, открой его в фаерволе.

Для ufw:

sudo ufw allow 2222/tcp
sudo ufw reload

Для firewalld:

sudo firewall-cmd --add-port=2222/tcp --permanent
sudo firewall-cmd --reload

Для iptables открой порт 2222 для TCP:

sudo iptables -I INPUT -p tcp --dport 2222 -j ACCEPT

Если пакет iptables-persistent не установлен, установи его командой:

sudo apt update
sudo apt install iptables-persistent

При установке система спросит, сохранить ли текущие правила – соглашаемся.

Чтобы сохранить правила вручную в любое время:

sudo netfilter-persistent save

Альтернативный вариант сохранить правила:

sudo iptables-save | sudo tee /etc/iptables/rules.v4